﻿using System;
using System.Web;
using System.Web.UI;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.Owin;
using Owin;
using CorreoSocialWeb.Models;

namespace CorreoSocialWeb
{
    public partial class ConfirmarMail : Page
    {
        protected string StatusMessage { get; private set; }

        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                this.LabelResultado.Text = string.Empty;

                string code = IdentityHelper.GetCodeFromRequest(Request);
                string userId = IdentityHelper.GetUserIdFromRequest(Request);

                if (code == null || userId == null)
                    throw new ApplicationException();
                    
                var manager = Context.GetOwinContext().GetUserManager<ApplicationUserManager>();

                var result = manager.ConfirmEmail(userId, code);

                if (result.Succeeded)
                {
                    Usuario.ConfirmarMail(userId);

                    this.LabelResultado.Text = "Listo! Tu email fue confirmado con éxito. Ahora tus datos de perfil serán verificados y pronto recibirás una respuesta.\n\nTené paciencia, ya casi sos miembro de CorreoSocial!";
                    this.LabelResultado.CssClass = string.Empty;
                }
                else
                    this.LabelResultado.Text = "Código de Validación incorrecto.";
            }
            catch
            {
                this.LabelResultado.Text = "Error al confirmar tu email. Por favor, intentá nuevamente más tarde.";
                return;
            }
        }
    }
}